The time that it takes for a packet of data to travel between nodes in a packet switched network may be used to evaluate the health of a network. Each packet of data may take various routes through different nodes (such as routers or switches) to go from one endpoint to another. The route that is taken by one packet of data may be different than the route taken by another packet of data even if the two packets have the same origin and destination. This is done in order to optimize the use of bandwidth available in the network, minimize the transmission latency, and to increase the robustness of communication.
Network providers offer Layer 3 network services, more commonly referred to as Virtual Private Network services, and in doing so guarantee certain maximum delay times for each class of service that is being provided. For example, delay sensitive applications such as voice over IP may require the highest class of service (with the quickest guaranteed delivery time), such as class of service 1. Conversely, an application like email is often less sensitive to delay, and thus might be placed in one various lower class of service having longer guaranteed delivery times (e.g., class of service 4).
In order to monitor whether the services provided are meeting appropriate requirements, a provider usually ascertains the time it takes for a packet to travel between nodes for each class of service. For example, if a provider guarantees a 125 millisecond maximum latency for class of service 1, then the provider must be able to monitor and show that class of service 1 packets take no longer than 125 milliseconds to be delivered between endpoints. Currently, network latency is generally measured by sending a packet from one spoke node to a hub node and back to the spoke node again, and measuring the time it takes for the packet to make the round trip. Each node then stores the information in a database known as the Management Information Base (“MIB”) or other memory of the node. Typically, a non-hub node sends a packet, receives it back and stores the delay time in its MIB. Because each node is storing the delay between itself and other nodes, in order to aggregate the data from a group of nodes in a network, a server needs to query each of the nodes. This combined effort of querying multiple nodes in a network requires a significant amount of bandwidth, memory for MIB data storage, and processing time. Therefore, it would be helpful to have a method of measuring delay between nodes that would require less bandwidth and processing time than the amount required by sending a packet round trip between each spoke node and a hub node and subsequently querying the resulting delay information from each node in the network.